const mongoose = require('mongoose');
const { User } = require('./db/user');

async function debugLogin() {
  try {
    console.log('🔍 调试一键登录问题...\n');
    
    // 连接数据库
    await mongoose.connect('mongodb+srv://2334231668:xin123666@cluster0.13va5ah.mongodb.net/2410B');
    console.log('✅ 数据库连接成功');
    
    const targetUserId = '68aeed055e85b6f7f7ff0480';
    console.log(`\n🎯 查找用户ID: ${targetUserId}`);
    
    // 方法1: 使用findById
    const user1 = await User.findById(targetUserId);
    console.log('findById结果:', user1 ? '找到用户' : '未找到用户');
    if (user1) {
      console.log('用户信息:', {
        _id: user1._id,
        username: user1.username,
        avatar: user1.avatar
      });
    }
    
    // 方法2: 使用findOne
    const user2 = await User.findOne({ _id: targetUserId });
    console.log('findOne结果:', user2 ? '找到用户' : '未找到用户');
    
    // 方法3: 检查所有用户
    const allUsers = await User.find({});
    console.log(`\n📊 数据库中共有 ${allUsers.length} 个用户:`);
    allUsers.forEach((user, index) => {
      console.log(`${index + 1}. ID: ${user._id}`);
      console.log(`   用户名: ${user.username}`);
      console.log(`   创建时间: ${user.createdAt}`);
      console.log('');
    });
    
    // 方法4: 检查ObjectId格式
    console.log('🔧 检查ObjectId格式...');
    try {
      const objectId = new mongoose.Types.ObjectId(targetUserId);
      console.log('ObjectId创建成功:', objectId);
      
      const user3 = await User.findById(objectId);
      console.log('使用ObjectId查找结果:', user3 ? '找到用户' : '未找到用户');
    } catch (error) {
      console.log('ObjectId格式错误:', error.message);
    }
    
    // 如果没有用户，创建一个
    if (allUsers.length === 0) {
      console.log('\n🚀 创建测试用户...');
      const newUser = new User({
        _id: new mongoose.Types.ObjectId(targetUserId),
        username: 'admin',
        password: '123',
        avatar: 'https://picsum.photos/80',
        createdAt: new Date()
      });
      
      await newUser.save();
      console.log('✅ 用户创建成功:', newUser._id);
      
      // 验证创建的用户
      const createdUser = await User.findById(targetUserId);
      console.log('验证创建的用户:', createdUser ? '成功' : '失败');
    }
    
  } catch (error) {
    console.error('❌ 调试失败:', error.message);
    console.error('详细错误:', error);
  } finally {
    await mongoose.disconnect();
    console.log('\n数据库连接已关闭');
  }
}

// 运行调试
debugLogin();
